Benjamin Otte [Thu, 30 Jul 2020 15:05:23 +0000 (17:05 +0200)]
Remove unused GDK_HINT_POS
Benjamin Otte [Thu, 30 Jul 2020 03:02:30 +0000 (05:02 +0200)]
Remove gravity from GdkGeometry
It's always northwest
Benjamin Otte [Thu, 30 Jul 2020 02:50:46 +0000 (04:50 +0200)]
Remove aspect ratio from GdkGeometry
It's unused.
Benjamin Otte [Thu, 30 Jul 2020 02:46:09 +0000 (04:46 +0200)]
gdk: Remove unused flags
Benjamin Otte [Thu, 30 Jul 2020 02:42:11 +0000 (04:42 +0200)]
gdk: Remove base_size and increment from GdkGeometry
It's unused.
Matthias Clasen [Thu, 30 Jul 2020 00:23:46 +0000 (20:23 -0400)]
iconbrowser: Add screenshots to appdata
appstream validation is picky and insists we have
at least on screenshot.
Matthias Clasen [Wed, 29 Jul 2020 21:58:45 +0000 (17:58 -0400)]
Update our appdata files
Mention the new release in all our appdata files.
Matthias Clasen [Wed, 29 Jul 2020 21:42:49 +0000 (17:42 -0400)]
icon-browser: Install desktop file and appdata
That is needed to make the flatpak build in our
ci happy.
Matthias Clasen [Wed, 29 Jul 2020 20:35:36 +0000 (16:35 -0400)]
testsuite: Skip the skipping
meson 0.55 considers a test failed if we skip any cases.
Until that is fixed, just skip them quietly.
See https://github.com/mesonbuild/meson/issues/7515
Matthias Clasen [Wed, 29 Jul 2020 18:57:07 +0000 (14:57 -0400)]
testsuite: Stop setting NO_AT_BRIDGE
We are not paying attention to that environment
variable anymore.
Matthias Clasen [Wed, 29 Jul 2020 16:40:15 +0000 (12:40 -0400)]
NEWS: Updates
Matthias Clasen [Wed, 29 Jul 2020 16:39:57 +0000 (12:39 -0400)]
docs: Mention workarea in the migration guide
Matthias Clasen [Wed, 29 Jul 2020 16:24:32 +0000 (16:24 +0000)]
Merge branch 'wip/ditch-workarea' into 'master'
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
See merge request GNOME/gtk!2316
Jonas Ådahl [Wed, 29 Jul 2020 13:47:48 +0000 (15:47 +0200)]
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
It's not a portable API, so remove it. The corresponding backend
specific functions are still available, if they were implemented, e.g.
gdk_macos_monitor_get_workarea() and gdk_x11_monitor_get_workarea().
Matthias Clasen [Wed, 29 Jul 2020 12:16:55 +0000 (12:16 +0000)]
Merge branch 'better-doc-link-fix' into 'master'
docs: Fix links in markdown content differently
See merge request GNOME/gtk!2315
Matthias Clasen [Wed, 29 Jul 2020 11:45:02 +0000 (07:45 -0400)]
docs: Fix links in markdown content differently
pandoc insists on using the xlink namespace for hrefs,
and the namespace setup doesn't carry over xi:includes.
My first fix was to tell pandoc to generate standalone
docbook documents, which makes it insert the xlink
namespace. But it also makes it wrap all sections and
chapters in articles, and that messes up our toc structure.
So, patch things up differently by stripping the xlink:
from hrefs via regex.
Yay for XML!
Matthias Clasen [Wed, 29 Jul 2020 11:24:48 +0000 (11:24 +0000)]
Merge branch 'doc-fixes' into 'master'
Doc fixes
See merge request GNOME/gtk!2314
Matthias Clasen [Wed, 29 Jul 2020 11:19:22 +0000 (11:19 +0000)]
Merge branch 'a11y-work' into 'master'
A11y work
See merge request GNOME/gtk!2312
Daniel Mustieles [Wed, 29 Jul 2020 10:32:09 +0000 (12:32 +0200)]
Updated Spanish translation
Daniel Mustieles [Wed, 29 Jul 2020 10:31:27 +0000 (12:31 +0200)]
Updated Spanish translation
Florentina Mușat [Wed, 29 Jul 2020 10:33:19 +0000 (10:33 +0000)]
Update Romanian translation
Matthias Clasen [Wed, 29 Jul 2020 02:39:31 +0000 (22:39 -0400)]
docs: Add a missing symbol
Matthias Clasen [Wed, 29 Jul 2020 02:20:19 +0000 (22:20 -0400)]
filter: Typo fix
Matthias Clasen [Wed, 29 Jul 2020 02:19:59 +0000 (22:19 -0400)]
filechooser: Document the response.activate action
Matthias Clasen [Wed, 29 Jul 2020 02:19:35 +0000 (22:19 -0400)]
a11y: Document GtkATContext::state-changed
Matthias Clasen [Wed, 29 Jul 2020 02:18:52 +0000 (22:18 -0400)]
docs: Update the symbols list
Make sure the sections file is in sync with what
we actually export.
Matthias Clasen [Wed, 29 Jul 2020 02:08:37 +0000 (22:08 -0400)]
docs: Update private headers list
Matthias Clasen [Wed, 29 Jul 2020 02:07:44 +0000 (22:07 -0400)]
a11y: Fix a few glitches in the role enum
When the enumeration was synced with the latest draft
of the ARIA spec, the math and note roles missed the boat.
Matthias Clasen [Wed, 29 Jul 2020 01:58:06 +0000 (21:58 -0400)]
Document gdk_device_tool_get_axes
Matthias Clasen [Wed, 29 Jul 2020 01:53:56 +0000 (21:53 -0400)]
gdk: Small doc fixup
We no longer use <!-- --> for plurals, gtk-doc is smart
enough to detect them without that.
Matthias Clasen [Wed, 29 Jul 2020 01:17:17 +0000 (21:17 -0400)]
NEWS: Updates
Matthias Clasen [Tue, 28 Jul 2020 23:49:35 +0000 (23:49 +0000)]
Merge branch 'wip/carlosg/device-api-cleanup' into 'master'
Cleanups to device/event API
See merge request GNOME/gtk!2313
Carlos Garnacho [Tue, 28 Jul 2020 22:03:48 +0000 (00:03 +0200)]
gdk: Conflate GDK devices
Make GdkEvents hold a single GdkDevice. This device is closer to
the logical device conceptually, although it must be sufficient for
device checks (i.e. GdkInputSource), which makes it similar to the
physical devices.
Make the logical devices have a more accurate GdkInputSource where
needed, and conflate the event devices altogether.
Carlos Garnacho [Tue, 28 Jul 2020 21:00:02 +0000 (23:00 +0200)]
gdk: Drop source_device argument from _gdk_display_device_grab_update()
It's just passed around and used nowhere.
Carlos Garnacho [Tue, 28 Jul 2020 17:38:24 +0000 (19:38 +0200)]
gdk: Make events hold an axis array matching GdkAxisUse
Instead of doing device-specific translations of array positions,
use GdkAxisUse as an array index right away.
Carlos Garnacho [Tue, 28 Jul 2020 14:21:47 +0000 (16:21 +0200)]
gdk: Make GdkDevice axis API internal
All outside interaction happens through gdk_event_get_axis(), no
device poking is necessary, nor axis to array index translations.
Carlos Garnacho [Tue, 28 Jul 2020 15:10:45 +0000 (17:10 +0200)]
gdk: Remove gdk_device_get_axes()
Besides the implicit x/y assumptions, devices don't have axes. Those
are actually provided by the GdkDeviceTool driving the device, and
different tools may have different axes.
It does not make sense to offer this API that can change beneath
someone's feet, we now have gdk_device_tool_get_axes() which is static
to the tool.
Carlos Garnacho [Tue, 28 Jul 2020 15:07:48 +0000 (17:07 +0200)]
inspector: Show tool axes, instead of device axes
We are moving away from the latter as they are inconsistent with
Wayland. Make the inspector introspect known tools and their info,
instead.
Matthias Clasen [Tue, 28 Jul 2020 22:23:57 +0000 (18:23 -0400)]
a11y: Set an accessible role for GtkPasswordEntry
Use the text-box accessible role for GtkPasswordEntry.
And set properties as appropriate.
Update the documentation and add a test.
Matthias Clasen [Tue, 28 Jul 2020 22:15:01 +0000 (18:15 -0400)]
a11y: Set an accessible role for GtkSearchEntry
Use the searchbox accessible role for GtkSearchEntry.
And set properties as appropriate.
Update the documentation and add a test.
Matthias Clasen [Tue, 28 Jul 2020 20:53:19 +0000 (16:53 -0400)]
a11y: Set an accessible role for GtkLabel
Use the label accessible role for GtkLabel. ARIA has some
ominous wording about it going way, but while we have it,
GtkLabel is the obvious candidate for carrying it.
Update the documentation and add a test.
Matthias Clasen [Tue, 28 Jul 2020 20:34:01 +0000 (16:34 -0400)]
a11y: Add tests for mnemonics
We set up labelled-by accessible relations when
a label is set as mnemonic widget. Verify that that
happens as expected.
Matthias Clasen [Tue, 28 Jul 2020 20:11:45 +0000 (16:11 -0400)]
a11y: Set an accessible role for GtkEntry
Use the text-box accessible role for GtkEntry and
set the placeholder and read-only accessible properties.
Update the documentation and add tests.
Matthias Clasen [Tue, 28 Jul 2020 20:02:06 +0000 (16:02 -0400)]
a11y: Add a scrollbar relation test
Check that GtkScrolledWindow sets up the expected
relations between its scrollbars and child.
Matthias Clasen [Tue, 28 Jul 2020 19:56:30 +0000 (15:56 -0400)]
a11y: Set up controls relations for scrollbars
GtkScrolledWindow knows what its scrollbars control,
so set up the accessible relations for this.
Matthias Clasen [Tue, 28 Jul 2020 19:44:12 +0000 (15:44 -0400)]
a11y: Set accessible roles for GtkImage and GtkPicture
Use the img accessible role for these.
Also update the documentation and add tests.
Carlos Garnacho [Tue, 28 Jul 2020 14:51:41 +0000 (16:51 +0200)]
gdk: Add gdk_seat_get_tools() API call
There's GdkSeat::tool-added and ::tool-removed, but there's no
API to query the known tools. Add this call.
Matthias Clasen [Tue, 28 Jul 2020 20:33:33 +0000 (20:33 +0000)]
Merge branch 'wip/chergert/bump-sysprof-abi' into 'master'
build: bump to sysprof 4 ABI
See merge request GNOME/gtk!2192
Christian Hergert [Sat, 4 Jul 2020 18:40:21 +0000 (11:40 -0700)]
build: bump to sysprof 4 ABI
Sysprof has moved to a new ABI which removes GLib from the capture library
so that GLib itself can link against sysprof-capture.
This bumps the library ABI so we can keep things coordinated between all
the new tracing layers in the stack.
Matthias Clasen [Tue, 28 Jul 2020 16:30:47 +0000 (16:30 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!2311
Emmanuele Bassi [Tue, 28 Jul 2020 12:27:50 +0000 (13:27 +0100)]
a11y: Update the valuetext attribute of GtkProgressBar
Since progress bars can have a label, we should propagate that information
to ATs whenever it's set.
Emmanuele Bassi [Tue, 28 Jul 2020 15:46:53 +0000 (16:46 +0100)]
a11y: Add an explicit "reset to default" method
In some cases we explicitly want to unset an accessible attribute; for
instance, an accessible property is gated on a widget property, and if
the widget property gets unset, the accessible property should be reset.
Emmanuele Bassi [Tue, 28 Jul 2020 15:41:44 +0000 (16:41 +0100)]
a11y: Add proper error reporting to value collection
We're currently overloading NULL to mean both "this value is undefined,
and should be reset to its default" and "the value collection failed".
Let's do error reporting right, by using GError to mean "the collection
failed, for this specific reason"; then, we can use a NULL return value
to signal that the accessible attribute should be reset to its default
value.
This is only relevant for pointer-sized attribute values: strings,
references, and reference lists; numeric, boolean, tristate, and token
values either cannot be undefined, or have a specific "undefined" value.
Emmanuele Bassi [Tue, 28 Jul 2020 14:49:14 +0000 (15:49 +0100)]
a11y: Fix the error message for the attribute test macros
We're missing a closing parenthesis.
Emmanuele Bassi [Tue, 28 Jul 2020 12:27:05 +0000 (13:27 +0100)]
a11y: Use undefined as default for string attributes
Instead of an empty string.
Emmanuele Bassi [Tue, 28 Jul 2020 12:33:05 +0000 (13:33 +0100)]
Remove stray gtk-doc annotation
It confuses the g-i scanner, and gtk-doc.
Carlos Garnacho [Tue, 28 Jul 2020 14:31:54 +0000 (16:31 +0200)]
gdk: Add gdk_device_tool_get_axes()
Axes are actually a per-tool property, we just adapt devices to the
current tool.
Carlos Garnacho [Tue, 28 Jul 2020 14:00:02 +0000 (16:00 +0200)]
docs: Correct migration note
A mentioned API call is now internal.
Carlos Garnacho [Tue, 28 Jul 2020 13:50:15 +0000 (15:50 +0200)]
gdkdevice: Remove gdk_device_get_state()
This is not needed nor recommended anymore, all reasons to maybe
need this were all kept within gdk.
Carlos Garnacho [Tue, 28 Jul 2020 13:46:05 +0000 (15:46 +0200)]
gtkwindow: Move away from gdk_device_get_state()
Use gdk_device_get_modifier_state() poking the keyboard and keymap,
instead of this function.
Carlos Garnacho [Tue, 28 Jul 2020 13:44:09 +0000 (15:44 +0200)]
gtkpopover: Move away from gdk_device_get_state()
Use gdk_device_get_modifier_state() poking the keyboard and keymap,
instead of this function.
Piotr Drąg [Tue, 28 Jul 2020 15:01:53 +0000 (17:01 +0200)]
Update POTFILES.in and POTFILES.skip
Carlos Garnacho [Tue, 28 Jul 2020 13:25:28 +0000 (15:25 +0200)]
gdk: Drop GDK_SOURCE_CURSOR
Looking at the xf86-input-wacom driver code, this is not even a thing
anymore. Drop this device type, in modern days there's
GDK_DEVICE_TOOL_TYPE_MOUSE for this.
Matthias Clasen [Tue, 28 Jul 2020 13:08:28 +0000 (13:08 +0000)]
Merge branch 'wip/a11y-inspector' into 'master'
inspector: Show a11y information
See merge request GNOME/gtk!2302
Matthias Clasen [Mon, 27 Jul 2020 17:29:21 +0000 (13:29 -0400)]
inspector: Show a11y information
Show a tab for accessibility information.
This shows the role and the accessible attributes
(states, properties, relations).
For now, changing the values is not possible, and
we only show the explicitly set values. In the future,
we want to show the attributes that are relevant for
the role, regardless of whether they are set or not,
and allow changing some of the attributes (the ones
that are not fully managed by GTK itself).
Matthias Clasen [Tue, 28 Jul 2020 02:51:34 +0000 (22:51 -0400)]
a11y: Add change notification to GtkATContext
Emit a ::state-change signal when state changes;
this was already a vfunc, but we want to listen
to state changes from the inspector too.
Emmanuele Bassi [Tue, 28 Jul 2020 11:47:14 +0000 (11:47 +0000)]
Merge branch 'a11y-tests' into 'master'
Add more a11y tests
See merge request GNOME/gtk!2303
Matthias Clasen [Tue, 28 Jul 2020 11:44:05 +0000 (11:44 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
See merge request GNOME/gtk!2306
Matthias Clasen [Tue, 28 Jul 2020 11:37:45 +0000 (11:37 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Split GtkProgressBar finalization
See merge request GNOME/gtk!2308
Emmanuele Bassi [Tue, 28 Jul 2020 10:43:32 +0000 (11:43 +0100)]
Split GtkProgressBar finalization
We're stopping activity mode when finalizing, which will change
accessible state; this will create a GtkATContext, and since GtkWidget
drops its GtkATContext on dispose(), we're going to end up leaking it on
the floor:
```
2,007 (64 direct, 1,943 indirect) bytes in 1 blocks are definitely lost in loss record 36,242 of 36,944
at 0x483977F: malloc (vg_replace_malloc.c:307)
by 0x5222105: g_malloc (gmem.c:106)
by 0x523E222: g_slice_alloc (gslice.c:1025)
by 0x523E261: g_slice_alloc0 (gslice.c:1051)
by 0x534B398: g_type_create_instance (gtype.c:1849)
by 0x53302EE: g_object_new_internal (gobject.c:1937)
by 0x53312AF: g_object_new_valist (gobject.c:2262)
by 0x532FEE8: g_object_new (gobject.c:1780)
by 0x4B3F942: gtk_test_at_context_new (gtktestatcontext.c:107)
by 0x491CC50: gtk_at_context_create (gtkatcontext.c:380)
by 0x4BFEDA0: gtk_widget_accessible_get_at_context (gtkwidget.c:8127)
by 0x4906079: gtk_accessible_get_at_context (gtkaccessible.c:83)
by 0x490618F: gtk_accessible_update_state (gtkaccessible.c:137)
by 0x4ACBA6D: gtk_progress_bar_act_mode_leave (gtkprogressbar.c:690)
by 0x4ACB4F8: gtk_progress_bar_finalize (gtkprogressbar.c:564)
```
We're also unparenting widgets and changing styles, which is another
potential source of leaks and side effects.
Timm Bäder [Tue, 28 Jul 2020 05:48:06 +0000 (07:48 +0200)]
bitset: Fix typo
Timm Bäder [Tue, 28 Jul 2020 04:14:45 +0000 (06:14 +0200)]
widget-factory: Remove useless separators
They don't serve a purpose and are not relevant for theming purposes.
Timm Bäder [Sat, 25 Jul 2020 10:12:02 +0000 (12:12 +0200)]
gl renderer: Throw inset shadows with all !send values away
Timm Bäder [Fri, 24 Jul 2020 18:45:22 +0000 (20:45 +0200)]
gl renderer: Linear gradient state tracking
Timm Bäder [Fri, 24 Jul 2020 18:02:26 +0000 (20:02 +0200)]
inspector: Avoid an uninitialized value
Timm Bäder [Fri, 24 Jul 2020 18:01:49 +0000 (20:01 +0200)]
gl renderer: Assert that we have program state
This is never a problem in reality, just for static analysis.
Timm Bäder [Fri, 24 Jul 2020 18:01:37 +0000 (20:01 +0200)]
gl renderer: Repat node child bounds can't be NULL
Timm Bäder [Fri, 24 Jul 2020 18:01:14 +0000 (20:01 +0200)]
gl renderer: Remove dead code
We aren't using n_corners anyway
Timm Bäder [Fri, 24 Jul 2020 17:06:50 +0000 (19:06 +0200)]
render nodes: Simplify diffing of uniform border nodes
Timm Bäder [Fri, 24 Jul 2020 17:00:38 +0000 (19:00 +0200)]
listbox demo: Remove frames around labels
Having frames around those labels looks stupid
Timm Bäder [Fri, 24 Jul 2020 16:54:23 +0000 (18:54 +0200)]
gl: Add a gdk_gl_context_has_debug accessor
Check if the label_object_ etc. functions are gonna do anything at all.
The g_type_name_from_instance calls keep poppoing up in profiles.
Timm Bäder [Fri, 24 Jul 2020 16:33:33 +0000 (18:33 +0200)]
GskTransform: Restructure _to_affine and _to_translation
Make the simple cases more explicit.
Timm Bäder [Fri, 24 Jul 2020 16:30:36 +0000 (18:30 +0200)]
gl renderer: Save rectilinearity in clip stack
So we don't have to repeatedly call it in pop_clip()
Timm Bäder [Fri, 24 Jul 2020 15:48:54 +0000 (17:48 +0200)]
GskTransform: Remove unused function from private header
We only use this in gsktransform.c
Timm Bäder [Fri, 24 Jul 2020 15:29:22 +0000 (17:29 +0200)]
gl renderer: More color matrix state tracking
Timm Bäder [Fri, 24 Jul 2020 15:18:18 +0000 (17:18 +0200)]
gl renderer: Add contains_rect helper
Timm Bäder [Fri, 24 Jul 2020 15:01:32 +0000 (17:01 +0200)]
gl renderer: Add own graphene_rect_intersects
Timm Bäder [Fri, 24 Jul 2020 13:59:45 +0000 (15:59 +0200)]
gsk: Remember border node uniformity
Lots of border nodes have all the same width and the same color.
Renderers might be able to simplifty that, so keep an extra bit per
border node.
Timm Bäder [Fri, 24 Jul 2020 06:49:24 +0000 (08:49 +0200)]
gl renderer: Moar state tracking
Track what we really need to send for inset shadows, which are used
as a border replacement in many cases.
Fishbowl says I can draw around 200-300 more switches per frame like
this too.
Timm Bäder [Wed, 22 Jul 2020 05:10:59 +0000 (07:10 +0200)]
widget: Compare proper adjusted size to new size when allocating
We were comparing first but then still modifying the adjusted size later
on, leading to unnecessary resizes.
Timm Bäder [Wed, 22 Jul 2020 04:35:48 +0000 (06:35 +0200)]
gl renderer: Fix scrolledwindow undershoot rendering
Matthias Clasen [Tue, 28 Jul 2020 01:17:41 +0000 (21:17 -0400)]
a11y: Add spinbutton tests
Tests the fix in the previous commit.
Matthias Clasen [Tue, 28 Jul 2020 01:17:07 +0000 (21:17 -0400)]
spinbutton: Update accessible state
Make sure to set value-max/min/now when the adjustment
changes.
Matthias Clasen [Tue, 28 Jul 2020 00:28:19 +0000 (20:28 -0400)]
a11y: Add scrollbar tests
Tests the fix in the previous commit.
Matthias Clasen [Tue, 28 Jul 2020 01:05:48 +0000 (21:05 -0400)]
widget: Update accessible state
The sensitive property corresponds to the accessible
property disabled, so update it when sensitivity
changes.
Matthias Clasen [Tue, 28 Jul 2020 00:27:27 +0000 (20:27 -0400)]
scrollbar: Update accessible state
We have the scrollbar role, and are therefore expected
to set value-min/max/now properties.
Matthias Clasen [Mon, 27 Jul 2020 23:58:08 +0000 (19:58 -0400)]
a11y: Add switch tests
Tests the fix in the previous commit.
Matthias Clasen [Mon, 27 Jul 2020 23:57:13 +0000 (19:57 -0400)]
switch: Initialize accessible state
The checked state defaults to undefined, so we need
to set it to the desired false state.
Matthias Clasen [Mon, 27 Jul 2020 23:38:51 +0000 (19:38 -0400)]
a11y: Add separator tests
Tests the fix in the previous commit.
Matthias Clasen [Mon, 27 Jul 2020 23:38:01 +0000 (19:38 -0400)]
separator: Initialize accessible state
The orientation property of separators should be
set ab initio.